package com.sgcc.operate.service.impl;

import java.util.Date;
import java.util.List;
import java.util.UUID;

import com.sgcc.common.security.service.TokenService;
import com.sgcc.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.sgcc.operate.mapper.OGroupMngMapper;
import com.sgcc.operate.domain.OGroupMng;
import com.sgcc.operate.service.IOGroupMngService;

/**
 * 群组管理Service业务层处理
 * 
 * @author sgcc
 * @date 2021-03-29
 */
@Service
public class OGroupMngServiceImpl implements IOGroupMngService 
{
    @Autowired
    private OGroupMngMapper oGroupMngMapper;
    @Autowired
    private TokenService tokenService;
    /**
     * 查询群组管理
     * 
     * @param id 群组管理ID
     * @return 群组管理
     */
    @Override
    public OGroupMng selectOGroupMngById(String id)
    {
        return oGroupMngMapper.selectOGroupMngById(id);
    }

    /**
     * 查询群组管理列表
     * 
     * @param oGroupMng 群组管理
     * @return 群组管理
     */
    @Override
    public List<OGroupMng> selectOGroupMngList(OGroupMng oGroupMng)
    {
        return oGroupMngMapper.selectOGroupMngList(oGroupMng);
    }

    /**
     * 新增群组管理
     * 
     * @param oGroupMng 群组管理
     * @return 结果
     */
    @Override
    public int insertOGroupMng(OGroupMng oGroupMng)
    {

        LoginUser loginUser = tokenService.getLoginUser();
        oGroupMng.setCreateDate(new Date());
        oGroupMng.setUpdateDate(new Date());
        oGroupMng.setCreateBy(loginUser.getUserid());
        oGroupMng.setUpdateBy(loginUser.getUserid());
        oGroupMng.setDelFlag("0");
        String id= UUID.randomUUID().toString().replaceAll("-", "");
        oGroupMng.setId(id);
        return oGroupMngMapper.insertOGroupMng(oGroupMng);
    }

    /**
     * 修改群组管理
     * 
     * @param oGroupMng 群组管理
     * @return 结果
     */
    @Override
    public int updateOGroupMng(OGroupMng oGroupMng)
    {

        LoginUser loginUser = tokenService.getLoginUser();
        oGroupMng.setUpdateDate(new Date());
        oGroupMng.setUpdateBy(loginUser.getUserid());
        return oGroupMngMapper.updateOGroupMng(oGroupMng);
    }

    /**
     * 批量删除群组管理
     * 
     * @param ids 需要删除的群组管理ID
     * @return 结果
     */
    @Override
    public int deleteOGroupMngByIds(String[] ids)
    {
        return oGroupMngMapper.deleteOGroupMngByIds(ids);
    }

    /**
     * 删除群组管理信息
     * 
     * @param id 群组管理ID
     * @return 结果
     */
    @Override
    public int deleteOGroupMngById(String id)
    {
        return oGroupMngMapper.deleteOGroupMngById(id);
    }
}
